package cn.dao;

import cn.model.TApply;
import cn.model.VApply;
import java.util.List;

public interface ApplyDAO {
    /**
     * 添加一条申请信息
     * @param apply 对象
     * @return 添加成功返回受影响的行数
     */
    public int addApply(TApply apply);

    /**
     * 删除一条申请信息
     * @param applyid 编号
     * @return 添加成功返回受影响的行数
     */
    public boolean deleteApply(int applyid);

    /**
     * 修改一条申请信息
     * @param apply 需要修改的对象
     * @return
     */
    public boolean modifyApply(TApply apply);

    /**
     * 修改一条状态信息
     * @param auditstatus 需要修改的对象
     * @return
     */
    public boolean modifyApplyById(int applyid,int auditstatus);

    /**
     * 获取所有维护信息的列表
     * @param currentPage 按分页查询的当前页
     * @param pageSize 按分页查询的每页数量
     * @return List
     */
    public List<VApply> getAllApplyList(int currentPage, int pageSize);

    /**
     * 获取所有维护信息的列表
     * @param currentPage 按分页查询的当前页
     * @param pageSize 按分页查询的每页数量
     * @return List
     */
    public List<VApply> getApplyListByPage(String wherecondition,int currentPage, int pageSize);
    /**
     * 根据状态查询VApply对象
     * @param
     * @param currentPage 查询开始的页数
     * @param pageSize 查询要求的每页的记录数
     * @return List<VOrder>
     */
    public List<VApply> getVApplyByStatus(int auditstatus, int currentPage, int pageSize);

    /**
     * 根据状态查询VApply对象
     * @param
     * @param currentPage 查询开始的页数
     * @param pageSize 查询要求的每页的记录数
     * @return List<VOrder>
     */
    public List<VApply> getVApplyByUser(String userid, int currentPage, int pageSize);

    /**
     * 根据条件获取符合条件的申请的数量
     * @param wherecondition
     * @return
     */
    public int getApplyAmount(String wherecondition);

    /**
     * 数量
     * @param
     * @return
     */
    public int getApplyAllAmount(String userid);

    /**
     * 通过申请ID查询
     * @param applyid 申请编号
     * @return 返回用户信息列表
     */
    public VApply getApplyById(int applyid);
}
